package algo;

import java.util.ArrayList;
import java.util.List;
import java.util.Set;

import domain.Station;
import servlet.Gare;
public class Algo {
	
	static final double DOUBLEMAX=9999.99999; // a changer avec un DOUBLE_MAX
	
	/*calcule la distance cartésienne etre deux points de coordonnés (x1,y1) et (x2,y2)*/
	public static double distance(double x1,double y1,double x2,double y2){
			double dist;
			dist =Math.sqrt(
				  Math.pow(x2-x1, 2)+Math.pow(y2-y1, 2)
			);
		

		return dist;
	}
	
	/*Calcule la gare la plus proche du point (x,y) dans l'ensemble ensGare*/
	public static Station stationPlusProche(List<Station> listStation,double x,double y){
		Station stationProche=null;
		double distMin=DOUBLEMAX;
		double distCurr=0.0;
		/* pour toute gare g dans listGare faire */
		Station g;
		for(int i=0; i<listStation.size();i++){
			g=listStation.get(i);
			distCurr= distance(g.getLatitude(),g.getLongitude(),x,y);
				if(distCurr < distMin){
					stationProche = g;
					distMin=distCurr;
				}
		}
		System.out.println("Distance entre ("+stationProche.getLatitude()+" , "+stationProche.getLongitude()+") et ("+x+" , "+y+")  = "+distMin);
		
		return stationProche;
	}
	
}
